GdkDragContext *context,
gint x,
gint y,
- GtkSelectionData *data,
+ GtkSelectionData *selection_data,
guint info,
guint time)
{
- if ((data->length >= 0) && (data->format == 8))
+ if (gtk_selection_data_get_length (selection_data) >= 0 &&
+ gtk_selection_data_get_format (selection_data) == 8)
{
- g_print ("Received \"%s\" in trashcan\n", (gchar *)data->data);
+ g_print ("Received \"%s\" in trashcan\n", (gchar *) gtk_selection_data_get_data (selection_data));
gtk_drag_finish (context, TRUE, FALSE, time);
return;
}
GdkDragContext *context,
gint x,
gint y,
- GtkSelectionData *data,
+ GtkSelectionData *selection_data,
guint info,
guint time)
{
- if ((data->length >= 0) && (data->format == 8))
+ if (gtk_selection_data_get_length (selection_data) >= 0 &&
+ gtk_selection_data_get_format (selection_data) == 8)
{
- g_print ("Received \"%s\" in label\n", (gchar *)data->data);
+ g_print ("Received \"%s\" in label\n", (gchar *) gtk_selection_data_get_data (selection_data));
gtk_drag_finish (context, TRUE, FALSE, time);
return;
}
g_print ("I was dropped on the rootwin\n");
else
gtk_selection_data_set (selection_data,
- selection_data->target,
+ gtk_selection_data_get_target (selection_data),
8, (guchar *) "I'm Data!", 9);
}
void
selection_test_received (GtkWidget *tree_view,
- GtkSelectionData *data)
+ GtkSelectionData *selection_data)
{
GtkTreeModel *model;
GtkListStore *store;
GdkAtom *atoms;
int i, l;
- if (data->length < 0)
+ if (gtk_selection_data_get_length (selection_data) < 0)
{
g_print ("Selection retrieval failed\n");
return;
}
- if (data->type != GDK_SELECTION_TYPE_ATOM)
+ if (gtk_selection_data_get_data_type (selection_data) != GDK_SELECTION_TYPE_ATOM)
{
g_print ("Selection \"TARGETS\" was not returned as atoms!\n");
return;
/* Add new items to list */
- atoms = (GdkAtom *)data->data;
+ gtk_selection_data_get_targets (selection_data,
+ &atoms, &l);
- l = data->length / sizeof (GdkAtom);
for (i = 0; i < l; i++)
{
char *name;
GdkPixbuf *pixbuf;
- if (selection_data->length < 0)
+ if (gtk_selection_data_get_length (selection_data) < 0)
return;
pixbuf = gtk_selection_data_get_pixbuf (selection_data);
GtkWidget **child;
source = gtk_drag_get_source_widget (context);
- child = (void*) data->data;
+ child = (void*) gtk_selection_data_get_data (data);
tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (source), *child);
g_print ("Removing tab: %s\n", gtk_label_get_text (GTK_LABEL (tab_label)));
}
void
-selection_received (GtkWidget *widget, GtkSelectionData *data)
+selection_received (GtkWidget *widget, GtkSelectionData *selection_data)
{
int position;
int i;
SelType seltype;
char *str;
+ guchar *data;
GtkTextBuffer *buffer;
-
- if (data->length < 0)
+ GdkAtom type;
+
+ if (gtk_selection_data_get_length (selection_data) < 0)
{
g_print("Error retrieving selection\n");
return;
}
+ type = gtk_selection_data_get_data_type (selection_data);
+
seltype = SEL_TYPE_NONE;
for (i=0; i<LAST_SEL_TYPE; i++)
{
- if (seltypes[i] == data->type)
+ if (seltypes[i] == type)
{
seltype = i;
break;
if (seltype == SEL_TYPE_NONE)
{
- char *name = gdk_atom_name (data->type);
+ char *name = gdk_atom_name (type);
g_print("Don't know how to handle type: %s\n",
name?name:"<unknown>");
return;
gtk_text_buffer_set_text (buffer, "", -1);
position = 0;
- while (position < data->length)
+ while (position < gtk_selection_data_get_length (selection_data))
{
+ data = (guchar *) gtk_selection_data_get_data (selection_data);
switch (seltype)
{
case ATOM:
- str = stringify_atom (data->data, &position);
+ str = stringify_atom (data, &position);
break;
case COMPOUND_TEXT:
case STRING:
case TEXT:
- str = stringify_text (data->data, &position);
+ str = stringify_text (data, &position);
break;
case BITMAP:
case DRAWABLE:
case PIXMAP:
case WINDOW:
case COLORMAP:
- str = stringify_xid (data->data, &position);
+ str = stringify_xid (data, &position);
break;
case INTEGER:
case PIXEL:
- str = stringify_integer (data->data, &position);
+ str = stringify_integer (data, &position);
break;
case SPAN:
- str = stringify_span (data->data, &position);
+ str = stringify_span (data, &position);
break;
default:
{
- char *name = gdk_atom_name (data->type);
+ char *name = gdk_atom_name (gtk_selection_data_get_data_type (selection_data));
g_print("Can't convert type %s to string\n",
name?name:"<unknown>");
- position = data->length;
+ position = gtk_selection_data_get_length (selection_data);
continue;
}
}